/*
题意：
由括号序列S可经P规则和W规则变形为P序列和W序列。
p规则是：pi是第i个右括号左边的左括号的数；
w规则是：wi是第i右括号与它匹配的左括号之间右括号的数（其中包括它本身）。
题目已经给定了pi，要求找出所有对应的wi
*/
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#include <stack>
#define ll long long
#define PI acos(-1)
#define M(n, m) memset(n, m, sizeof(n));
const int INF = 1e9 + 7;
const int maxn = 1e5;
using namespace std;

int T, n, m;

int main()
{
    scanf("%d", &T);
    while (T --)
    {
        vector <int> v1, v2;
        v1.clear();
        v2.clear();
        scanf("%d", &n);
        int k = 1;
        for (int i = 1;i <= n;i ++)
        {
            scanf("%d", &m);
            for (int j = k;j <= m;j ++)
                v1.push_back(1);    // 1 表示左括号
            v1.push_back(2);        // 2 表示右括号
            k = m + 1;
        }
        // 从后往前遍历
        for (int i = v1.size() - 1;i >= 0;i --)
        {
            // 遇到右括号，则开始找匹配的
            if (v1[i] == 2)
            {
                int ans = 0;
                int cnt1, cnt2;// 分别统计两个括号间左括号和右括号的数量
                cnt1 = cnt2 = 0;
                for (int j = i;j >= 0;j --)
                {
                    if (v1[j] == 2)
                    {
                        cnt1 ++;    // 统计右括号
                        ans ++;
                    }
                    else
                        cnt2 ++;    // 统计左括号
                    if (cnt1 == cnt2)
                        break;
                }
                v2.push_back(ans);
            }
        }
        for (int i = v2.size() - 1; i >= 1;i --)
            cout << v2[i] << " ";
        cout << v2[0] << endl;
    }
    return 0;
}
